// // Copyright (c) 2009 All Right Reserved // // vl // // 2009-01-01 // Contains ... using System.Diagnostics.Contracts; using JetBrains.Annotations; namespace LargoCommon.Music { /// /// Tone Packet. /// public sealed class IntendedTone { #region Public properties /// /// Gets or sets the melodic tone. /// /// /// The melodic tone. /// [UsedImplicitly] public MusicalTone MusicalTone { get; set; } //// CA1044 (FxCop) /// /// Gets or sets a value indicating whether this instance is selected. /// /// /// True if this instance is selected; otherwise, false. /// public bool IsSelected { [UsedImplicitly] get; set; } #endregion #region Public properties - Computed Values /// /// Gets or sets the harmonic cover value. /// /// /// The harmonic cover value. /// public int HarmonicCoverValue { [UsedImplicitly] get; set; } /// /// Gets or sets the harmonic value. /// /// /// The harmonic value. /// public int HarmonicValue { [UsedImplicitly] get; set; } /// /// Gets or sets the easy sing value. /// /// /// The easy sing value. /// public int EasySingValue { [UsedImplicitly] get; set; } /// /// Gets or sets the free band value. /// /// /// The free band value. /// public int FreeBandValue { [UsedImplicitly] get; set; } /// /// Gets or sets the impulse collisions value. /// /// /// The impulse collisions value. /// public int ImpulseCollisionsValue { [UsedImplicitly] get; set; } /// /// Gets or sets the melodic collisions value. /// /// /// The melodic collisions value. /// public int MelodicCollisionsValue { [UsedImplicitly] get; set; } /// /// Gets or sets the ambit change value. /// /// /// The ambit change value. /// public int AmbitChangeValue { [UsedImplicitly] get; set; } /// /// Gets or sets the octave value. /// /// /// The octave value. /// public int OctaveValue { [UsedImplicitly] get; set; } /// /// Gets or sets the min track value. /// /// /// The min track value. /// public int SequenceValue { [UsedImplicitly] get; set; } /// /// Gets or sets the figural value. /// /// /// The figural value. /// public int FiguralValue { [UsedImplicitly] get; set; } /// /// Gets or sets the variability value. /// /// /// The variability value. /// public int VariabilityValue { [UsedImplicitly] get; set; } #endregion #region Public properties /// /// Gets or sets the line number. /// /// Property description. public int LineIndex { get; set; } /// /// Gets the bar number. /// /// Property description. [UsedImplicitly] public int BarNumber { get { Contract.Assume(this.MusicalTone != null); return this.MusicalTone.BarNumber; } } /// /// Gets the bit from. /// /// Property description. [UsedImplicitly] public byte BitFrom { get { Contract.Requires(this.MusicalTone != null); return this.MusicalTone.BitFrom; } } /// /// Gets the duration. /// /// Property description. [UsedImplicitly] public int Duration { get { Contract.Requires(this.MusicalTone != null); return this.MusicalTone.Duration; } } /// /// Gets the note. /// /// Property description. [UsedImplicitly] public string Note { get { Contract.Requires(this.MusicalTone != null); return this.MusicalTone.ToShortString(); } } /// /// Gets or sets the total formal value. /// /// Property description. public float TotalFormalValue { [UsedImplicitly] get; set; } /// /// Gets or sets the total real value. /// /// Property description. public float TotalRealValue { [UsedImplicitly] get; set; } /// /// Gets or sets the total value. /// /// Property description. [UsedImplicitly] public float TotalValue { get; set; } #endregion } }